package com.leyou.item.mapper;

import com.leyou.item.pojo.Brand;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

public interface BrandMapper extends Mapper<Brand> {
    /**
     * 插入类别和品牌中间表
     * #是预编译效率高占位符,$是sql拼接，字符串替换
     *
     * @param id  id 多属性建立映射关系@Pararm
     * @param cid cid
     * @return int 影响的执行行数判断是否成功
     *///自定义插入中间表，Mapper只有插入Bean的方法
    @Insert("INSERT INTO tb_category_brand(category_id, brand_id) VALUES (#{cid},#{bid})")
    int insertCategoryAndBrand(@Param("bid") Long id, @Param("cid") Long cid);


    /**
     * cid-中间表-每个bid-bname
     * <p>
     * inner join 左右都有的时候返回，更加符合
     * left join 虽然最终要的是brand-name但是中间表没有的也会查询，这样多余的空记录显示
     */

    @Select("SELECT * from tb_brand b INNER JOIN tb_category_brand cb on b.id=cb.brand_id where cb.category_id=#{cid}")
    List<Brand> queryBrandsByCid(Long cid);


}
